﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Modulos/ModuloConsumo/VistaControl/MasterPageConsumo.master" AutoEventWireup="true" CodeFile="egresarProducto.aspx.cs" Inherits="Modulos_ModuloConsumo_VistaControl_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <h2>Registrar Egresos</h2>
    <br />
    <asp:FormView ID="FormView1" runat="server" DataKeyNames="ID_EGRESO" 
        DataSourceID="SqlDataSource1">
        <EditItemTemplate>
            ID_EGRESO:
            <asp:Label ID="ID_EGRESOLabel1" runat="server" 
                Text='<%# Eval("ID_EGRESO") %>' />
            <br />
            USR_RUT:
            <asp:TextBox ID="USR_RUTTextBox" runat="server" Text='<%# Bind("USR_RUT") %>' />
            <br />
            FECHA_EGRESO:
            <asp:TextBox ID="FECHA_EGRESOTextBox" runat="server" 
                Text='<%# Bind("FECHA_EGRESO") %>' />
            <br />
            ID_PRODUCTO:
            <asp:TextBox ID="ID_PRODUCTOTextBox" runat="server" 
                Text='<%# Bind("ID_PRODUCTO") %>' />
            <br />
            CANTIDAD_PROD_E:
            <asp:TextBox ID="CANTIDAD_PROD_ETextBox" runat="server" 
                Text='<%# Bind("CANTIDAD_PROD_E") %>' />
            <br />
            <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
                CommandName="Update" Text="Actualizar" />
            &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </EditItemTemplate>
        <InsertItemTemplate>
            <table style="width:100%;">
                <tr>
                    <td style="width: 37px">
                        Usuario</td>
                    <td style="width: 3px">
                        :</td>
                    <td>
                        <asp:DropDownList ID="DropDownList1" runat="server"
                            DataSourceID="SqlDataSource1"
                            DataTextField="NOM_USR"
                            SelectedValue= '<%# Bind("USR_RUT") %>'
                            DataValueField="USR_RUT">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
                            SelectCommand="SELECT [USR_RUT], [NOM_USR], [AP_PAT_USR], [AP_MAT_USR], [FONO_USR], [MAIL_USR], [PASS_USR], [TIPO_USR], [ESTADO_USR] FROM [USUARIO]">
                        </asp:SqlDataSource>
                    </td>
                </tr>
                <tr>
                    <td style="width: 37px">
                        Fecha</td>
                    <td style="width: 3px">
                        :</td>
                    <td>
                        <asp:TextBox ID="FECHA_EGRESOTextBox" runat="server"
                            Value='<%# System.DateTime.Now.ToString("dd-MM-yyyy") %>'
                            Text='<%# Bind("FECHA_EGRESO", "{0:d}") %>' />
                        <asp:RequiredFieldValidator ID="RequiredFECHA_EGRESOValidator0" 
                            runat="server" ControlToValidate="FECHA_EGRESOTextBox" Display="Dynamic"
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator1"
                            runat="server" ControlToValidate="FECHA_EGRESOTextBox" Display="Dynamic"
                            ErrorMessage="* Campo de Fecha" 
                            ValidationExpression="(\d{1,2}\-\d{1,2}\-\d{4})"></asp:RegularExpressionValidator>
                    </td>
                </tr>
            </table>
            <table style="width:100%;">
                <tr>
                    <td>
                        Producto</td>
                    <td>
                        Cantidad</td>
                    <td>
                        &nbsp;</td>
                </tr>
                <tr>
                    <td>
                        <asp:DropDownList ID="DropDownList2" runat="server"
                            DataSourceID="SqlDataSource2"
                            DataTextField="NOMBRE_PRODUCTO"
                            SelectedValue='<%# Bind("ID_PRODUCTO") %>'
                            DataValueField="ID_PRODUCTO">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
                            SelectCommand="SELECT [ID_PRODUCTO], [ID_TIPO_PROD], [NOMBRE_PRODUCTO], [STOCK_PRODUCTO], [PRECIO_MAXIMO], [PROD_HABILITADO] FROM [PRODUCTO_GRATUITO]">
                        </asp:SqlDataSource>
                    </td>
                    <td>
                        <asp:TextBox ID="CANTIDAD_PROD_ETextBox" runat="server" 
                            Text='<%# Bind("CANTIDAD_PROD_E") %>' />
                        <asp:RegularExpressionValidator ID="ExpressionCANTIDAD_PROD_EValidator" 
                            runat="server" ControlToValidate="CANTIDAD_PROD_ETextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Numérico" ValidationExpression="\d+"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredCANTIDAD_PROD_EValidator" runat="server" 
                            ControlToValidate="CANTIDAD_PROD_ETextBox" Display="Dynamic" 
                            ErrorMessage="* Campo Obligatorio"></asp:RequiredFieldValidator>
                    </td>
                    <td>
                        &nbsp;</td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                    <td>
                        &nbsp;</td>
                </tr>
            </table>
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                CommandName="Insert" Text="Confirmar Egreso" />
            &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancelar" />
        </InsertItemTemplate>
        <ItemTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Egresar Producto" />
        </ItemTemplate>
        <EmptyDataTemplate>
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="Egresar Producto" />
        </EmptyDataTemplate>
    </asp:FormView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConflictDetection="CompareAllValues" 
        ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
        DeleteCommand="DELETE FROM [DETALLE_EGRESO] WHERE [ID_EGRESO] = @original_ID_EGRESO AND [USR_RUT] = @original_USR_RUT AND [FECHA_EGRESO] = @original_FECHA_EGRESO AND [ID_PRODUCTO] = @original_ID_PRODUCTO AND [CANTIDAD_PROD_E] = @original_CANTIDAD_PROD_E" 
        InsertCommand="INSERT INTO [dbo].[DETALLE_EGRESO] ([USR_RUT], [ID_PRODUCTO], [FECHA_EGRESO], [CANTIDAD_PROD_E]) VALUES (@USR_RUT, @ID_PRODUCTO, @FECHA_EGRESO, @CANTIDAD_PROD_E);

UPDATE [dbo].[PRODUCTO_GRATUITO] SET [ID_TIPO_PROD] = [ID_TIPO_PROD], [STOCK_PRODUCTO] = [STOCK_PRODUCTO] - @CANTIDAD_PROD_E, [PRECIO_MAXIMO] = [PRECIO_MAXIMO], [PROD_HABILITADO] = [PROD_HABILITADO] WHERE (([ID_PRODUCTO] = @ID_PRODUCTO))


UPDATE [dbo].[TIPO_PRODUCTO] SET [NOMBRE_TIPO_PROD] = [NOMBRE_TIPO_PROD], [STOCK_TIPO_PRODUCTO] = [STOCK_TIPO_PRODUCTO] - @CANTIDAD_PROD_E, [PRECIO_MAXIMO_TIPO] = [PRECIO_MAXIMO_TIPO], [STOCK_MINIMO_TIPO] = [STOCK_MINIMO_TIPO] WHERE (([ID_TIPO_PROD] = (SELECT ID_TIPO_PROD FROM PRODUCTO_GRATUITO WHERE ID_PRODUCTO = @ID_PRODUCTO)))" 
        OldValuesParameterFormatString="original_{0}" 
        SelectCommand="SELECT [ID_EGRESO], [USR_RUT], [FECHA_EGRESO], [ID_PRODUCTO], [CANTIDAD_PROD_E] FROM [DETALLE_EGRESO]" 
        
        
        UpdateCommand="UPDATE [DETALLE_EGRESO] SET [USR_RUT] = @USR_RUT, [FECHA_EGRESO] = @FECHA_EGRESO, [ID_PRODUCTO] = @ID_PRODUCTO, [CANTIDAD_PROD_E] = @CANTIDAD_PROD_E WHERE [ID_EGRESO] = @original_ID_EGRESO AND [USR_RUT] = @original_USR_RUT AND [FECHA_EGRESO] = @original_FECHA_EGRESO AND [ID_PRODUCTO] = @original_ID_PRODUCTO AND [CANTIDAD_PROD_E] = @original_CANTIDAD_PROD_E">
        <DeleteParameters>
            <asp:Parameter Name="original_ID_EGRESO" Type="Decimal" />
            <asp:Parameter Name="original_USR_RUT" Type="Int32" />
            <asp:Parameter Name="original_FECHA_EGRESO" Type="DateTime" />
            <asp:Parameter Name="original_ID_PRODUCTO" Type="Decimal" />
            <asp:Parameter Name="original_CANTIDAD_PROD_E" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="USR_RUT" Type="Int32" />
            <asp:Parameter Name="FECHA_EGRESO" Type="DateTime" />
            <asp:Parameter Name="ID_PRODUCTO" Type="Decimal" />
            <asp:Parameter Name="CANTIDAD_PROD_E" Type="Int32" />
            <asp:Parameter Name="original_ID_EGRESO" Type="Decimal" />
            <asp:Parameter Name="original_USR_RUT" Type="Int32" />
            <asp:Parameter Name="original_FECHA_EGRESO" Type="DateTime" />
            <asp:Parameter Name="original_ID_PRODUCTO" Type="Decimal" />
            <asp:Parameter Name="original_CANTIDAD_PROD_E" Type="Int32" />
        </UpdateParameters>
        <InsertParameters>
            <asp:Parameter Name="USR_RUT" Type="Int32" />
            <asp:Parameter Name="ID_PRODUCTO" Type="Decimal" />
            <asp:Parameter Name="FECHA_EGRESO" Type="DateTime" />
            <asp:Parameter Name="CANTIDAD_PROD_E" Type="Int32" />
        </InsertParameters>
    </asp:SqlDataSource>
    Egresos Realizados:
    <br />
    <asp:GridView ID="GridView2" runat="server" 
        AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource3" DataKeyNames="ID_EGRESO">
        <Columns>
            <asp:BoundField DataField="ID_EGRESO" HeaderText="ID" 
                SortExpression="ID_EGRESO" InsertVisible="False" ReadOnly="True" />
            <asp:TemplateField HeaderText="Fecha" SortExpression="FECHA_EGRESO">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FECHA_EGRESO") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("FECHA_EGRESO", "{0:d}") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="NOM_USR" HeaderText="Usuario" 
                SortExpression="NOM_USR" />
            <asp:BoundField DataField="NOMBRE_PRODUCTO" HeaderText="Producto" 
                SortExpression="NOMBRE_PRODUCTO" />
            <asp:BoundField DataField="CANTIDAD_PROD_E" HeaderText="Cantidad" 
                SortExpression="CANTIDAD_PROD_E" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AppCeiiConnectionString %>" 
        
        SelectCommand="SELECT DETALLE_EGRESO.ID_EGRESO, DETALLE_EGRESO.FECHA_EGRESO, USUARIO.NOM_USR, PRODUCTO_GRATUITO.NOMBRE_PRODUCTO, DETALLE_EGRESO.CANTIDAD_PROD_E FROM DETALLE_EGRESO INNER JOIN USUARIO ON DETALLE_EGRESO.USR_RUT = USUARIO.USR_RUT INNER JOIN PRODUCTO_GRATUITO ON DETALLE_EGRESO.ID_PRODUCTO = PRODUCTO_GRATUITO.ID_PRODUCTO" 
        ProviderName="System.Data.SqlClient">
    </asp:SqlDataSource>
</asp:Content>

